#include <stdio.h>
#include <math.h>
#include <assert.h>

#define LLT long long int

#ifndef NDEBUG
    #define DOUT( toprint ) printf( "# " toprint )
    #define DPUT( toput , x ) printf( "# " toput , x )
    #define DLN
#else
    #define DOUT
    #define DPUT
    #define DLN if(0)
#endif


int main()
{
  DOUT("=======================2007, 1 semester assignment, 2-B=======================\n");
  DOUT("==============================================================================\n");
  DOUT("Please enter a natural number N to be broken down into divisors:\n");
  DOUT("> ");

  LLT n = 0;
  int chk = scanf("%lld", &n);
  DLN assert(("You have entered a single number" , chk == 1));

  for(LLT i = ( ((int)sqrt(n))+1 ); i>0; i--) {
     if(  !(n%i) && !( n%(i*i) )  ) {

       printf("%lld %lld\n", ( n / (i*i) ),i);

       break;
     }
  }

  DOUT("==============================================================================\n");
  DPUT( "FILE: %s\n", __FILE__ );
  DPUT( "TIME OF COMPILATION: %s\n", __TIME__ );

	return 0;
}
